﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////


#pragma once
#include "GnufArrangementArea.h"
#include "GnufBaseUtils.h"

namespace gnuf {

    class StandaloneArrangementArea : public ArrangementArea
    {
    protected:
        StandaloneArrangementArea(ArrangementArea::EType, DesktopArrangementArea *, ELayoutPattern);
        virtual ~StandaloneArrangementArea();

    public:
        void setGlobalPos(int x, int y)
        {
            m_globalPos.x = x;
            m_globalPos.y = y;
        }
        int globalPosX() const { return m_globalPos.x; }
        int globalPosY() const { return m_globalPos.y; }

        void setScaleFactor(const ScaleFactor &);
        virtual const ScaleFactor & scaleFactor() const override { return m_scaleFactor; }

        // Inherits from ArrangementArea...
        virtual bool isAsMasked(bool * pOverall = nullptr) const override final;

    private:
        ArrangementArea::Point m_globalPos;
        ScaleFactor m_scaleFactor;
    };

}
